home *** CD-ROM | disk | FTP | other *** search
/ Dynamic HTML Construction Kit / Dynamic HTML Construction Kit.iso / earthlink / nscomm / java40.jar / sun / misc / Ref.class (.txt) < prev    next >
Encoding:
Java Class File  |  1997-11-03  |  734 b   |  48 lines

  1. package sun.misc;
  2.  
  3. import netscape.misc.WeakLink;
  4.  
  5. public abstract class Ref {
  6.    static int lruclock;
  7.    private WeakLink thing;
  8.    private long priority;
  9.  
  10.    public Object get() {
  11.       Object var1 = this.thing.get();
  12.       if (var1 == null) {
  13.          synchronized(this){}
  14.  
  15.          try {
  16.             if (this.thing.get() == null) {
  17.                var1 = this.reconstitute();
  18.                this.thing.set(var1);
  19.             }
  20.          } catch (Throwable var4) {
  21.             throw var4;
  22.          }
  23.       }
  24.  
  25.       this.priority = (long)(++lruclock);
  26.       return this.thing.get();
  27.    }
  28.  
  29.    public abstract Object reconstitute();
  30.  
  31.    public void flush() {
  32.       this.thing.set((Object)null);
  33.    }
  34.  
  35.    public void setThing(Object var1) {
  36.       this.thing.set(var1);
  37.    }
  38.  
  39.    public Object check() {
  40.       return this.thing.get();
  41.    }
  42.  
  43.    public Ref() {
  44.       this.priority = (long)(++lruclock);
  45.       this.thing = new WeakLink((Object)null);
  46.    }
  47. }
  48.